\\ (PARI) _R. J. Cano_, Apr 04 2017

search01(n)={      \\ This is it!, the underlying idea behind "squarefreethings.txt", applied to a more restricted domain of words.
  my(L:list,c,z);  \\ Those words that can be written with n possible different symbols having n characters, i.e. unsigned integers. 
  L=List();
  forvec(x=vector(n,i,[0,n-1]),  \\ Full access granted to all the n-character words that can be written with the alphabet 0..n-1;
    forvec(y=vector(n,j,[0,1]),  \\ A pattern for discrimination of "available" or "recognized" letters: 0s absent, 1s present (available);
	  z=sum(k=1,n, ( y[1+x[k]]*x[k] - !y[1+x[k]] ) * n^(n-k) ); \\ A series computed by reading those available characters contained by a word "x"
	  if((z>0)&&issquarefree(z),c++;listput(L,[x,y]))           \\ like if they were the digits of a number according to a positional system
	,0)                                                         \\ alike the well known octal, decimal, duodecimal, hexadecimal, ...
  ,0);                                                          \\ Rule of the game: If certain symbol (digit or letter) is flag as absent in "y"
  return([c,L])                                                 \\ The corresponding power of the base (n itself) is subtracted instead of being added;
}                                                               \\ (of course it was an admitedly and somewhat contrived choice of [a] calculation [game]);

search02(n)={      \\ This is close to (BUT not the same at all) what Remy actually done based upon alphanumeric human readable
  my(L:list,c,z);  \\ strings and ASCII codes there at the submitted file "squarefreethings.txt", 
  L=List();        \\                                                ... and those (up-to-date) recent, messy and clumsy mails.
  forvec(x=vector(n,i,[0,n-1]),
    forvec(y=vector(n,j,[0,1]),
	  z=sum(k=1,n, (y[k]*x[k]-!y[k]) * n^(n-k) );
	  if((z>0)&&issquarefree(z),c++;listput(L,[x,y])) 
	,0)
  ,0);
  return([c,L])
}

search03(n)={      \\ This is a variation inspired in the original proposal.
  my(L:list,c,z);  \\ The digit x[k] is signed according to the bit y[k];
  L=List();
  forvec(x=vector(n,i,[0,n-1]),
    forvec(y=vector(n,j,[0,1]),
	  z=sum(k=1,n, (y[k]-!y[k]) *x[k] * n^(n-k) );
	  if((z>0)&&issquarefree(z),c++;listput(L,[x,y]))
	,0)
  ,0);
  return([c,L])
}

search04(n)={      \\ Yet another experimental variation inspired in the original proposal.
  my(L:list,c,z);  \\ a zero digit x[k] doesn't contribute anything.
  L=List();
  forvec(x=vector(n,i,[0,n-1]),
    forvec(y=vector(n,j,[0,1]),
	  z=sum(k=1,n, ( y[k]*x[k] - !y[k]*!!x[k] ) * n^(n-k) );
	  if((z>0)&&issquarefree(z),c++;listput(L,[x,y]))
	,0)
  ,0);
  return([c,L])
}

/* Sample execution output dump [Begin]

parisize = 2048000000,

? #
   timer = 1 (on)

? vector(6,k,search01(k)[1])
time = 51,668 ms.

%1 = [0, 5, 66, 1225, 28260, 1039934]

? vector(6,k,search02(k)[1])
time = 42,698 ms.

%2 = [0, 5, 65, 1237, 27657, 1083333]

? vector(6,k,search03(k)[1])
time = 41,309 ms.

%3 = [0, 6, 71, 1260, 30444, 907622]

? vector(6,k,search04(k)[1])
time = 49,156 ms.

%4 = [0, 6, 74, 1250, 30227, 1135071]

? quit

 Comment: Notice that term-by-term, the subseq samples above are
 
 0, 5, 66, 1225, 28260, 1039934
 0, 5, 65, 1237, 27657, 1083333
 0, 6, 71, 1260, 30444,  907622
 0, 6, 74, 1250, 30227, 1135071
 
 Initially giving the impression that the way of computing these series
 was NOT quite relevant to the quantity of squarefree integers count as
 result of their evauation... ... ...
 
   Sample execution output dump [End] */

\\ That's all folks!! 
\\ ...Judge this content yourselves freely. Any kind of feed-back on its contemplation is always welcome
\\ at "0xccaaffee at gmail dot com"; Many thanks in advance for your valuable time.

\\(EOF)